﻿/* Author:
 *  Andrea Vandin
 */
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace TripLOAMobile.InternalEntities
{

    /// <summary>
    /// This class contains the informations of a travel's reservation request
    /// </summary>
    public class ReservationRequest
    {
        private int id, tolerance;
        private byte nSeats;
        private string fromCoord, toCoord, notes;

        /// <summary>
        /// Initializes a new instance of the <see cref="ReservationRequest"/> class.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="fromCoords">From coords.</param>
        /// <param name="toCoords">To coords.</param>
        /// <param name="nSeats">The n seats.</param>
        /// <param name="tolerance">The tolerance.</param>
        /// <param name="notes">The notes.</param>
        public ReservationRequest(int id, string fromCoords, string toCoords, byte nSeats, int tolerance, string notes)
        {
            this.id = id;
            fromCoord=fromCoords;
            toCoord=toCoords;
            this.nSeats = nSeats;
            this.tolerance = tolerance;
            this.notes = notes;
        }

        /// <summary>
        /// Gets the travel ID.
        /// </summary>
        /// <value>The travel ID.</value>
        public int TravelID
        {
            get
            {
                return id;
            }
        }

        /// <summary>
        /// Gets or sets the departure.
        /// </summary>
        /// <value>The departure.</value>
        public string Departure
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the arrival.
        /// </summary>
        /// <value>The arrival.</value>
        public string Arrival
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets departure coords.
        /// </summary>
        /// <value>From coords.</value>
        public string FromCoords
        {
            get
            {
                return fromCoord;
            }
            set
            {
                fromCoord = value;
            }
        }

        /// <summary>
        /// Gets or sets destination coords.
        /// </summary>
        /// <value>To coords.</value>
        public string ToCoords
        {
            get
            {
                return toCoord;
            }
            set
            {
                toCoord = value;
            }
        }

        /// <summary>
        /// Gets the number of seats required.
        /// </summary>
        /// <value>The N seats.</value>
        public byte NSeats
        {
            get
            {
                return nSeats;
            }

        }


        /// <summary>
        /// Gets the tolerance.
        /// </summary>
        /// <value>The tolerance.</value>
        public int Tolerance
        {
            get
            {
                return tolerance;
            }
        }

        /// <summary>
        /// Gets the notes.
        /// </summary>
        /// <value>The notes.</value>
        public string Notes
        {
            get
            {
                return notes;
            }
        }

    }
}
